Skip to main content

Full text of "USPTO Patents Application 10785526"

See other formats


CM 
< 
O 

o> 
o 



(19) 



(12) 



Europalsches Patentamt 
European Patent Office 
Off Ice europ6en des brevets (11) EP 1 004 970 A2 

EUROPEAN PATENT APPLICATION 



(43) Date of publication: 

31.05.2000 Bulletin 2000/22 

(21) Application number: 99119351.7 

(22) Date of filing: 29.09.1 999 



(51) Int. CI. 7 : G06F 17/60, G07F 17/32, 
A63F 13/00 



(84) Designated Contracting States: 


(72) Inventors: 


AT BE CH CY DE DK ES R FR GB GR iE IT LI LU 


* Wells, Bill 


MCNLPT SE 


Reno, Nevada 89502 (US) 


Designated Extension States: 


• Wilder, Richard 


AL LT LV MK RO SI 


Sparks, Nevada 89436 (US) 


(30) Priority: 14.10.1998 US 172786 


(74) Representative: 




Manitz, Finsterwald & Partner 


(71) Applicant: 


Postfach 221611 


International Game Technology 


80506 Munchen (DE) 


Reno, Nevada 89511-8986 (US) 



(54) Method for downloading data to gaming devices 



(57) Memories coupled to a gaming terminal, are 
reprogrammed by a method and apparatus which 
includes identification, negotiation, downloading and 
verification information from an external information 



source to a gaming terminal. Hardware devices are 
used to identify gaming terminals or components. 



GAMING TERMINAL 



-127 



COMMUNICATIONS 
BOARD 



VJ 24 

126 



130b 
1288 \ 



GAMI CONTROLLER 
BOARD 



Ml 
ACCEPTING 
BOARD 



128d 



COIN 
HANDUR6 
BOARD 



>130c 



Ml 
ACCEPTOR 

132a 



M28b 



ton 

HANDLE* 

"~T~ 
132b 



VIDEO 




AUDIO 


BOARD 




BOARD 



128c 



VIDEO 



132c 



130f 



AUDIO 
OUTPUT 

T~ 

132d 



GAMING 




GAMING 


TERMINAL 


• • • 


TERMINAL 



LOCAL 
CONTROLLER 



-1148 



fl2b ifec 



LAPTOP 



128 



LOCAL 
CONTROLLER 



114c- 



LOCAL 
CONTROLLER 



CENTRAL 
COMPUTER 

T 



-112a 



FIG. 1A 



Q. 

LU 



Primed by Xerox (UK) Business Services 
2.16.7 (HRS)/3.6 



1 



EP 1 004 970 A2 



2 



Description 

[0001] Cross-reference is made to U.S. Serial No. 
09/088,205 (Attorney File No. 3735-905-CON) filed 
June 1, 1998. which is a continuation of Serial No. 
08/600,311 (for "PERIPHERAL DEVICE DOWNLOAD 
METHOD AND APPARATUS" filed February 12, 1996), 
both incorporated herein by reference. 
10002] The present invention relates to a method 
and apparatus for downloading information to a gaming 
device and in particular, to a process for using a compu- 
ter, directly or remotely, to transfer information to a gam- 
ing device in a secure fashion. 

BACKGROUND INFORMATION 

[0003] Many current gaming machines are config- 
ured with electronic components, commonly mounted 
on one or more printed circuit boards (PCBs). Many 
such electronic components use programming or other 
information stored in memories. In at least one typical 
configuration, a gaming terminal or gaming machine will 
include a controller board, a communications board or 
module, and one or more so-called peripheral boards 
such as a display controller board, a currency acceptor 
board, a coin handler board, and the like. Typically at 
least one board, such as the game controller board, 
includes a processor (e.g., a microprocessor) or other 
computer unit which often operates based on program- 
ming or other information (software) stored in a memory 
such as one or more electronically erasable program- 
mable read-only memories (EEPROMS). Such software 
may be programmed or stored in the memory locations 
during the manufacturing or assembly of the gaming 
device. Additionally, software may be provided to 
replace or supplement the software in a gaming device 
which is in operation (in the field), e.g. to add new fea- 
tures, implement new games and the like, and/or to cor- 
rect programming errors. In either case, the new 
software is transferred or "downloaded" from a source 
(which may be, e.g.. a computer such as a workstation 
personal computer, laptop computer, and the like) to the 
"target" memory in a particular gaming terminal or 
machine. 

[0004] Downloading from one computer to another 
is a process that is known, in general. In one previous 
system, information from a host system such as a state 
lottery host has been downloaded to a clerk validation 
terminal (CVT). A clerk validation terminal is used for 
verifying a ticket obtained from a lottery terminal e.g. to 
verify a validation number, amount and the like before a 
lottery ticket is paid, e.g. as an anti-courrterfeiting proce- 
dure. However, downloading software to components of 
gaming devices and/or to a plurality of gaming devices 
or components thereof presents particular problems not 
readily addressed by conventional downloading tech- 
niques. 

[0005] One aspect applicable to gaming devices is 



the stringent regulatory oversight and control exercised 
by regulatory authorities in many jurisdictions. In many, 
and perhaps all, regulated gaming jurisdictions, down- 
loading of software to a gaming terminal will not be per- 

5 mitted without some assurance that the new software 
will comply with local regulations. 
[0006] For example, a gaming regulatory authority 
in one jurisdiction may require assurance that down- 
loading to, e.g., update bill acceptor software will result 

io in a machine having bill acceptor software appropriate 
(and approved) for that jurisdiction (and will not, e.g., 
run the risk of inadvertently and/or intentionally down- 
loading bill acceptor software that was approved in a dif- 
ferent jurisdiction). 

is [0007] It is also commonly found that gaming 
devices occur in a wide variety of configurations, such 
as employing numerous different types of processors, 
memories, game configurations , versions and types, 
peripheral hardware and software and the like. Addition- 
al ally, owing to differences in manufacturing dates, main- 
tenance history and the like, gaming devices are often 
encountered with a wide variety of different hardware 
and software components which may not be apparent 
(or may be discernable only with difficulty) from a visual 

25 inspection of the gaming device, its components, or its 
operation. For this reason, when it is desired to down- 
load software to a particular gaming terminal, it is typi- 
cally necessary to select a particular software version 
for downloading, bearing in mind the types of software 

so and hardware found on the particular gaming terminal, 
lest the newly-downloaded software is incompatible with 
the gaming terminal or results in operation which is not 
approved by a particular jurisdiction. Additionally, it is 
possible that the software which is to be downloaded is, 

35 in fact, already present on a particular gaming terminal, 
so that the download process represents a waste of 
time and effort. 

[0008] Although many types of memories can be 
modified to store other or additional programs (such as 

40 an erasable programmable read-only memory or 
EPROM), in many previous devices this was often a 
labor-intensive and time-consumptive procedure, some- 
times involving removing the EPROM or other memory 
device and reprogramming it in a separate device 

45 and/or replacing it with a differently-programmed mem- 
ory device. Many pin-type memory devices are config- 
ured to tolerate only a limited number of removal and 
insertion operations. Other memory devices are config- 
ured for solder connection or are otherwise not readily 

so replaceable, necessitating replacement of an entire 
board to effect updating. 

[0009] Such manual operations have, in the past, 
typically required a significant investment of time, espe- 
cially when a relatively large number of gaming termi- 
55 nals are being programmed or reprogrammed. To make 
matters worse, the time investment is typically made by 
relatively highly-trained personnel. Such investment of 
time by relatively highly-trained personnel represents a 



3 



EP 1 004 970 A2 



4 



significant expense involved in storing or updating gam- 
ing terminal programming or other information which, 
owing at least partly to the regulatory environment 
found for gaming devices, was previously believed to be 
a largely unavoidable cost. Furthermore, it has been 
found that even relatively highly-trained personnel have 
an undesirably high error rate when attempting to per- 
form a download which may lead to inoperability or 
improper operation of a gaming device, or violation of 
gaming jurisdiction laws or rules and may require an 
additional investment of time to correct such errors. 
[0010] This situation is particularly burdensome in 
the context of gaming devices in which it is sometimes 
necessary or desirable to change the programming in a 
large number of peripheral devices in a relatively short 
amount of time. One example of such a situation is 
when it is desired to reprogram a bill acceptor, e.g. to 
thwart a previously-unknown counterfeiting scheme. 
Previous systems which required labor-intensive and 
time-intensive reprogramming methods increased the 
risk of incurring losses during the time rt took to perform 
this reprogramming for all the various gaming machines 
(e.g., in a plurality of different casinos) or their various 
components. An important feature of the invention is 
that it allows for download of data to multiple gaming 
devices simultaneously. 

[0011] Another feature of many gaming devices 
which affects the manner in which revisions of software 
can or should be performed is the fact that gaming 
devices are often configured to dispense money so 
there is a potential for modifications or downloads to be 
performed in an unauthorized fashion in such a manner 
as to create unauthorized or improper payouts. This is a 
potential which is typically not present in many other 
types of downloads from one computer to another. 
Accordingly, it is important, not only to gaming regula- 
tory authorities but also to casinos or other game oper- 
ators, to achieve a level of confidence that not only will 
inadvertent (e.g. cross-jurisdictional) downloads be 
avoided but there are procedures in place to avoid or 
prevent intentional or unauthorized downloads. 
[0012] Furthermore, previous reprogramming took 
place in a relatively conspicuous manner requiring per- 
sonnel to access the interior of each individual periph- 
eral and/or terminal, often for an extended period of 
time, thus potentially alerting the counterfeiters that they 
had been detected and decreasing the likelihood of 
using the new software to identify (possibly leading to 
apprehension of) the counterfeiters. In addition, the time 
during which a machine was being f itted with the new 
programs was time that the machine was out of service 
and not generating revenues. 

[0013] In some situations, "rt may be advantageous 
to update the programming of two or more different 
gaming terminals and/or two or more different periph- 
eral devices coupled to a single gaming device. Previ- 
ous methods would, in this situation, typically have 
required separately accessing each of the gaming ter- 



minals and/or peripheral devices in order to modify or 
update programming. 

[0014] As noted, it is often desirable to reprogram 
gaming terminals, e.g. to accommodate new games, 

s regulatory changes, correct bugs or other programming 
errors, install new features and the like. Preferably, this 
should be accomplished with a minimum of down time 
of gaming devices (which often are intended normally to 
be accessible 24 hours a day) and a minimum of incon- 

io venience to players. 

[0015] Accordingly, it would be advantageous to 
provide a method and apparatus for downloading pro- 
gramming information in a manner which is less labor- 
intensive and less costly than previously provided, pref- 

75 erably without requiring individual direct access to each 
peripheral device which is being reprogrammed, and 
preferably while providing suff icient security and reliabil- 
ity safeguards that fully and partially automatic down- 
loads will be permitted by gaming regulatory authorities. 

20 

SUMMARY OF THE INVENTION 

[0016] The present invention provides for securely 
loading information, received from an external device 

25 (such as a laptop or a networked central computer) to 
one or more gaming devices. Preferably, the secure 
downloading system provides identification, negotia- 
tion, data transfer and verification features. Identifica- 
tion involves obtaining information for characterizing the 

30 hardware and/or software on a gaming terminal or other 
target. The identification information can be used to pro- 
vide assurance that the programming or other data to 
be downloaded and/or the download procedures are 
appropriate for the target device. Negotiation involves 

35 providing information from the source to the target, 
relating to the download, such as where to load, com- 
pression information (if any) and the like. Preferably the 
source requests approval from the target device before 
data transfer begins. Preferably, data transfer is per- 

40 formed block-wise with checking of each block. Verifica- 
tion can be performed by the source requesting a digital 
signature calculated from the transferred data, prefera- 
bly based on a public key decryption algorithm. 
[0017] In one embodiment, the update or modified 

45 peripheral device program is received in the gaming ter- 
minal (or other computing device) from an external 
device (such as a hand-held or portable device or a cen- 
tral computer coupled via a communications link) and is 
downloaded from the gaming terminal controller board 

so to one or mor coupled peripheral devices. 

[0018] Preferably, the programming information is 
downloaded in such a way as to reduce or minimize the 
amount of down time or inconvenience to players. In 
one embodiment, when the new peripheral program is 

55 downloaded from a central computer to each gaming 
terminal, the method avoids disabling all gaming termi- 
nals at the same time, such as by waiting until the gam- 
ing terminal is idle for a predetermined period before 



3 



5 



EP 1 004 970 A2 



6 



downloading the new program to peripheral devices or 
by cycling through various gaming terminals or groups 
of gaming terminals so that a relatively small number of 
the gaming terminals are disabled (for reprogramming) 
at any one time. Additionally, the invention allows for 5 
download to multiple gaming devices or peripheral 
devices simultaneously. 

BRIEF DESCRIPTION OF THE DRAWINGS 

70 

[0019] 

Fig. 1 A is a block diagram depicting components of 
a multi-terminal gaming system, including compo- 
nents of a gaming terminal, of a type which may be is 
used in connection with the present invention. 

Fig. 1B is a block diagram of a plurality of gaming 
terminals, each coupled to a plurality of peripheral 
devices, and a central computer coupled to the 20 
gaming terminals which can be used according to 
an embodiment of the present invention; 

Fig. 2 is a flow chart of a procedure for downloading 
information according to an embodiment of the 25 
present invention; 

Fig. 3 is a block diagram of gaming terminals linked 
to a central system, usable according to an embod- 
iment of the present invention; 30 

Fig. 4 is a block diagram of a gaming terminal 
assembly and development system usable in 
accordance with an embodiment of the present 
invention; and 35 

Fig. 5 is a flow chart depicting a download proce- 
dure in accordance with an embodiment of the 
present invention. 

40 

DETAILED DESCRIPTION OF THE PREFERRED 
EMBODIMENT 

[0020] Although the present invention can be used 
in connection with many types of gaming terminals 45 
either as stand-alone devices or coupled in any number 
of different multi-terminal configurations, one example 
of a gaming terminal 112a coupled, along with other 
gaming terminals 112b,c, via one or more local control- 
lers 114a,b,c to a central computer 116 is depicted in so 
Fig. 1 A. In the embodiment of Fig. 1A, gaming terminal 
112a (and, typically, all gaming terminals in the group) 
includes a game controller board 122 which will typically 
include, among other items, a microprocessor and a 
memory such as an EEPROM storing programming 55 
and/or other information for controlling an operation of 
the controller board 122. Typically the hardware and 
software of the game controller board 122 will contain 



the information defining the type of game and making 
determinations of the win/loss local outcome (as 
opposed to, e.g., a progressive win/loss outcome) for 
the gaming terminal 1 12a. Because of the central role of 
the game controller board 122 in determining any mon- 
etary payout, it is particularly important to assure the 
presence of the correct software for the game controller 
board to avoid improper or incorrect payouts and to 
assure compliance with local regulatory authorities. 
Although it is possible to combine numerous functions 
onto a given board, typically numerous boards will be 
provided in a gaming terminal for forming a plurality of 
functions. In the depicted embodiment, the game con- 
troller board communicates with a communications 
board 124 which provides information to and, receives 
the information from a local controller 114 and/or central 
computer 1 1 6, for purposes such as monitoring use and 
performance, assuring compliance, performing 
accounting and similar functions, and facilitating imple- 
mentation of progressive or other multi-terminal based 
games or prizes. In one embodiment, the communica- 
tions board 124 includes one or more ports by which a 
laptop 128 or other computer may be coupled to the 
gaming terminal 112a for, among other purposes, 
downloading as described more fully below. In the 
embodiment of Fig. 1 A, a plurality of peripheral boards 
128 a-d communicate with the game controller board 
122 and control various peripheral devices for perform- 
ing various functions such as bill acceptor functions 
132a, coin handling functions 132b, video functions 
132c and audio output functions 132d. In many configu- 
rations, some or all of the peripheral and other boards 
128 a-d, 124 will contain EEPROMs or other devices for 
storing software for running on microprocessors or 
other computing devices on such boards. 
[0021] As depicted in Fig. 1B, a computing device 
such as one or more gaming terminals 1102a, 1102b 
may be coupled to various peripheral devices 
1 104a,b,c,d,e,f. Many types of peripheral deices can be 
provided, including the currency acceptor as depicted 
including, for example, printers, display screens or 
devices, keypads and the like. More than three periph- 
eral devices may be provided, or fewer may be pro- 
vided, the gaming terminal or other computing device 
may be housed in the same housing 1106a, 1106b as 
the peripheral devices 1 104a-f, and more than two gam- 
ing devices may be used in connection with the down- 
load procedure. In one embodiment, download of 
information to the gaming terminals 1102a. 1102b is 
provided from a central computer 1108. However, it is 
possible to use the present invention in connection with 
stand-alone gaming terminals and peripherals which 
are not connected to a central computer 1108. 
[0022] In the depicted embodiment, each gaming 
terminal includes a processor 1110a, 1110b, a memory 
1112a, 1112b, and a communications module 1114a, 
1 1 14b. In the depicted embodiment, the processor 1110 
is coupled to both the memory 1 1 12 and the communi- 



4 



7 



EP 1 004 970 A2 



8 



cations module 1114 and the memory and communica- 
tions modules 1114, 1112 are coupled together to 
permit communication therebetween. In one embodi- 
ment, the processor 1110a is an Intel processor model 
80960, although the invention can be used in connec- 5 
tion with computing devices having other types of proc- 
essors and in connection with gaming terminals which 
are controlled by devices other than microprocessors 
such as ASICS. 

[0023] Following the establishment of the communi- 
cation link 206, (Fig. 2) information is transferred from 
the information source to one or more gaming terminals. 
In one embodiment, if desired, the information is 
encrypted before being transmitted to the gaming termi- 
nal, particularly if the information is transmitted over a 
local area or wide area network to avoid the possibility 
of unscrupulous individuals gaining access to the infor- 
mation. Many types of data transfer can be used includ- 
ing serial and parallel transfer. In one embodiment, the 
information which is downloaded may include informa- 
tion within more than or different from information to be 
used for reprogramming the memory of one of the cou- 
pled peripherals. For example, the downloaded informa- 
tion may contain new programming information for two 
or more different peripherals coupled to a gaming termi- 
nal and/or may include information for programming the 
gaming terminal itself, in addition to, or rather than, one 
or more of the peripherals. 

[0024] In the strict regulatory environment for many 
gaming devices, it is typically necessary to provide 
assurance that approved and proper software is pro- 
vided in the peripheral and other boards, in addition to 
that provided on the game controller board. 
[0025] Fig. 3 depicts an embodiment in which a net- 
work interface system 312 is used to connect a gaming 
terminal 1 12a. which may in turn be connected, such as 
in a daisy-chain fashion, to other gaming terminals 
112b, 112c in a group, via a cluster controller 314 to a 
local server or controller 114. In the depicted embodi- 
ment, the gaming terminal 112a includes a central or 
controller (CPU) board 122 and one or more peripheral 
controller boards 128e, 128f. Although the present 
invention can be used in connection with a wide variety 
of systems and applications, in the depicted embodi- 
ment, while the gaming terminals 112 a-c would typi- 
cally be located in a gaming area such as a gaming 
region of a casino, the local servers 114 and associated 
devices would typically be located in a casino local 
office 318. The local server 114 (and, in some embodi- 
ments, additional local servers for the same or other 
casinos) may be coupled, e.g. via modems 322a, 322b 
over a LAN line or wireless link 324 to a central compu- 
ter 1 16 typically located in a central office 325 different 
from the local office 31 8 of the casino. As depicted, pref- 
erably each gaming terminal 112 also includes a port or 
other connector for coupling a computer such as a lap- 
top computer 128 e.g. via a ftoer-optic. cable or other 
connector 326. Thus, as illustrated in Figs. 1A, 1B and 



3, transferring programming data or other information 
according to the present invention may be used in con- 
nection with transferring information from a remote loca- 
tion such as a central computer 116 or, in some cases, 
local server 114 to a gaming terminal 112. This proce- 
dure provides the desirable ability to download pro- 
grams or other information to one, some, all or various 
combinations of the gaming machines 112a< con- 
nected to the network, preferably substantially simulta- 
neously, if desired. Such an ability is particularly useful 
when the target devices 112 may be relatively numer- 
ous, such as in the case of a casino or multi-casino net- 
work and/or when target devices are spread across a 
relatively wide region such as a plurality of lottery termi- 
nals. The download rates in such a system would typi- 
cally be.governed by _the_ communication rates of the 
network or telecommunication system 324. 312. Also as 
depicted in Figs. 1 A and 3. it is possible, in addition to or 
in place of downloading from a central computer or local 
controller, to download from a computer, such as a lap- 
top 128, coupled directly to a gaming terminal. In one 
embodiment, the laptop computer 128 is coupled by a 
ffoer-optic connection 326 directly to the game control- 
ler board 122. if the programming data or other informa- 
tion is intended for storing on a peripheral controller 
(end use device a-f) the data, in this embodiment, is 
channeled through the game controller board (in a 
pass-through mode) to the peripheral controller board, if 
desired. This procedure can be used, e.g., on a casino 
floor (for repairing or updating gaming terminal soft- 
ware) at a lottery location, or in the manufacturing proc- 
ess, such as in a final assembly stage. Preferably, such 
a download method does not require peripheral control- 
lers 128a-f or other boards or components to be 
removed from the machine and can be used on 
machines that have no suitable network interface 312. 
[0026] In addition to downloading programming or 
other information to gaming terminals or similar devices 
at a casino location, the present invention can also be 
used in connection with downloading information during 
a gaming terminal or similar device manufacturing proc- 
ess. Fig. 4 depicts a system usable in subassembly or 
final assembly downloading, e.g., in a gaming terminal 
manufacturing environment. Fig. 4 includes a plurality of 
computers such as workstation computers, network 
server computers, and/or PC-type computers coupled 
by network lines and a firewall 452 in a manner well- 
known to those of skill in computer network technolo- 
gies. 

[0027] At various stages in employing the system of 
Fig. 4, programming data or other information is stored 
in a number of different storage systems such as data 
bases (typically providing storage on hard drives or 
other well-known storage media). In the depicted 
embodiment, information, during program design proc- 
ess, is held in an engineering database 454. And soft- 
ware and firmware engineers use and modify such 
information via computers 456, 458 having at least indi- 



15 



20 



25 



30 



35 



40 



45 



50 



5 



9 



EP 1 004 970 A2 



10 



rect access to engineering database 454. Preferably, 
programs or other data which are still in the develop- 
ment phase are restricted to the engineering database 
454 and are not stored in other databases. At some 
point, engineering will release the program or other 
information to product assurance 462 which, after 
review, will submit the programming or data to a gaming 
jurisdiction for approval. After the program or data is 
approved by the gaming jurisdiction, the program is cop- 
ied to a production download server 466 and, preferably, 
stored in a released database 468. Information about 
the approved program is provided to a customer order 
system 472 and other systems such as engineering 
474a and product assurance 474b. Although released 
programs may be provided in various forms such as on 
CD ROM 476a via a CD duplicator 476b, Fig. 4 also 
illustrates a system for downloading programming data 
or other information as part of a gaming terminal 
assembly or fabrication system. The programming or 
data may be loaded onto boards or other subassem- 
blies 478, e.g. via a translator/power assembly 482 and 
download terminal 484 or may be loaded into one or 
more gaming terminals 486a, b, e.g. via connection to a 
communication board for downloading, in turn, to target 
peripheral devices or other subassemblies within the 
gaming terminals 486a, 486b. e.g. via a download ter- 
minal 488. 

[0028] Downloading on the fabrication or assembly 
line, as depicted in Fig. 4 in the strict regulatory environ- 
ment for many gaming devices, it is typically necessary 
to provide assurance that only approved and proper 
software and data is used in the gaming terminals, 
including peripheral and other boards (in addition to that 
provided on, e.g., the game controller board). Depend- 
ing on the nature of the download, it will be advanta- 
geous, in performing assembly line downloading, to 
recognize or distinguish different boards, e.g. to obtain 
information regarding characteristics of the Board 
and/or its identity or history. 

[0029] In the environment of the system of Fig. 4, a 
host device such as the download terminal 484 con- 
nects directly to the subassembly or through a test box 
482 that provides the physical connection and power. A 
download terminal 488 can also be used to download 
information to boards which have already been assem- 
bled into gaming terminals 486a,b (which, provide phys- 
ical connection and power and thus can be used for 
downloading without a test box 482). The host device 
484, 488 can be network-connected as depicted or can 
be a standalone device. In a standalone configuration, 
the program information can be stored on a CD ROM 
476a or other storage medium. The depicted download 
system can be used on the production floor as depicted 
or, at a service bench, e.g. for repair purposes. Prefera- 
bly the download media 492a, 492b are configured to 
facilitate downloading of information (as opposed to, 
e.g., the components 312. 324 of a casino or multi- 
casino system which may be configured for other pur- 



poses such as data gathering, progressive game sys- 
tems and the like) and can thus be configured or 
optimized to achieve relatively high rates of data trans- 
fer. 

5 [0030] In order to facilitate security in downloading 
information, preferably so as to achieve approval for 
such downloading by gaming regulatory bodies, a 
downloading process as depicted in Fig. 5 may be used. 
According to the process of Fig. 5, an initial or early 

10 stage of the process involves identification. Although it 
may be possible to configure gaming terminals to pro- 
vide identification using only software procedures (such 
as by providing encrypted identification data, hand 
shaking procedures and the like), according to one 

75 embodiment, it is preferred to provide a gaming terminal 
with one or more hardware-based identification compo- 
nents such as one or more one-time programmable 
and/or add-only memory devices for storing information 
which identifies or characterizes the gaming terminal or 

20 components thereof. In one embodiment, a gaming 
identification apparatus and system can be used in 
accordance with that described in U.S. Patent Applica- 
tion Serial No. (Attorney File No. 

3735-924) for "GAMING DEVICE IDENTIFICATION 

25 METHOD AND APPARATUS" filed on even date here- 
with and incorporated herein by reference. Providing 
one or more gaming terminals with such identification 
capability means that such gaming terminals have been 
placed in a "download ready" configuration according to 

30 an embodiment of the invention. 

[0031] As depicted in Fig. 5, in the identification 
phase, the source device sends a message to the target 
device requesting identification information 512. When 
downloading is intended to download information to two 

35 or more devices, the identification (and/or the down- 
load) can be performed serially, by polling each device, 
or a single request addressing all target devices may be 
sent. If the identification response is not received 514, 
the system enters a failure mode and no connection is 

40 established 516. The identification response which is 
acceptable can include many types of information, 
examples of which include serial or other hardware 
identification numbers, manufacturing ID information or 
codes, manufacturer name, hardware or software revi- 

45 sion designations, date of manufacture, installation, 
sale, shipping and the like, date of software revision, 
software file size, memory addresses and the like. Pref- 
erably, a starting address for the program to be down- 
loaded is returned. Preferably, data integrity information 

so such as a CRC (cyclic redundancy check) signature is 
returned. The identification information returned in 
response of the request 512 is used to verify that the 
information to be downloaded and/or the download pro- 
cedures (such as data transfer rates) are appropriate for 

55 the hardware and software present in the target 
devices. For example, the returned identification infor- 
mation can be used to verify that the gaming jurisdiction 
to which the gaming terminal is subject, has approved 



6 



11 



EP 1 004 970 A2 



12 



the software which is to be downloaded, that the soft- 
ware which is to be downloaded is compatible with soft- 
ware or hardware already present in the gaming 
terminal and the like. If, on the basis of the identification 
information, it is determined that the gaming terminal 
already possesses the download information, the down- 
load step can be skipped. 

[0032] Following the identification phase, a negotia- 
tion phase includes the sending of a negotiation mes- 
sage 518. The negotiation message includes 
information which is used to enable or facilitate the 
download procedure. For example, it may be necessary 
to inform the target device of the location or locations in 
memory where the downloaded information is to be 
stored, the size of the download file, the data transfer 
"rate, whetherany special transfer procedures such as 
compression, decompression, encryption, decryption 
and the like, are required. Preferably the negotiation 
message includes (or is interpreted to include) a 
request for a response such as an approval response, 
from the target device or devices. For example, waiting 
for approval from the target device is useful to, e.g.. 
avoid initiating a download when there is someone cur- 
rently playing the game, or when the gaming terminal is 
in an error mode. In one embodiment, if there are cur- 
rent credits on a gaming terminal, the gaming terminal 
is assumed to be in an actively played state. As 
depicted in Fig. 5. if the approval or "ready" response 
522 is not received, a failure state is declared and error- 
handling procedures are required, such as outputting a 
notification to an operator and/or reinitiating the down- 
load procedure. If the ready response is received, the 
download phase can begin. 

[0033] In the embodiment of Fig. 2, the data is 
transmitted in a block fashion, i.e., by transmitting a pre- 
determined number of bits of the information (such as 
1024 bits) from the source to the gaming terminal 208, 
and then checking for errors in the block 210. As will be 
well-known to those of skill in the art, other block lengths 
can also be used. Preferably, the data is transmitted by 
a serial transmission protocol. In one embodiment, ver- 
ification or other checking is performed to assist in 
detecting data transmission or other errors. A number of 
well-known verification or error detection schemes can 
be used, such as a CRC. One type of CRC check is 
described in U.S. Patent Application Serial No: 
08y348.268, filed November 30, 1994, for "METHOD 
AND APPARATUS FOR VERIFYING THE CONTENTS 
OF A STORAGE DEVICE" (incorporated herein by ref- 
erence). These or other verification or error checking 
schemes can be adapted for use in the present inven- 
tion in a manner that will be apparent to those of skill in 
the art, after understanding the present disclosure. 
[0034] If there are errors detected in the block of 
information (using, e.g. a cyclic redundancy check error 
detection routine, or other error detection routines well- 
known to those of skill in the art), the procedure loops 
back 212 to retransmit the block Preferably, after some 



blocks have been successfully downloaded, errors in 
subsequent blocks do not necessarily require reinitiat- 
ing the download from the beginning but, only requires 
downloading, anew, those blocks which have not thus 

5 far been successfully transmitted. In one embodiment, 
only a limited number (e.g., 3) of the re-tries are permit- 
ted before a "total error" is declared and, e.g., the device 
is put out of service. At the end of each block transmis- 
sion, it is determined 528 whether all blocks have been 

w transmitted 214. If not, the procedure loops back 216 to 
transmit the next block. Preferably, following the CRC or 
other error detection for each block an overall CRC or 
other error check (e.g. digital signature) is performed 
after all blocks have been downloaded to the gaming 

is terminal. Thus, at the end of the first portion of the pro- 
cedure 202, the entire desired information will have 
been transmitted, block-wise, with error detection, from 
the information source 108 to at least one gaming termi- 
nal 102. 

20 [0035] After all blocks have been successfully 
downloaded, a verification stage is initiated by sending 
a message to the target device (or devices) which 
requests certain verification information 532. In one 
embodiment, the verification information is based on 

25 (such as being calculated from) information stored in 
the target device, and preferably including at least some 
of the downloaded information. For example, a CRC or 
other digital signature based on some or all of the down- 
loaded information can be used. Preferably, the portion 

30 of the information which is used as the basis for calcu- 
lating verification information or signature is selected in 
a fashion that is not readily known or predictable in 
advance or by unauthorized persons. For example, 
rather than always calculating the verification signature 

35 based on information starting from a predetermined 
and/or unchanging starting address, it is preferred that 
the verification signature be calculated from a stalling 
address which is different for different download opera- 
tions and/or different terminals. In one embodiment, the 

40 starting address is randomly selected and communi- 
cated (e.g. as part of the verification request message 
532). For further promoting confidence in the verifica- 
tion system, it is possible to use a digital signature cal- 
culation procedure which is based on a private key 

45 value which is preferably randomly selected by the 
source computer and used to encrypt part of the down- 
load information. In response, the gaming terminal uses 
a known procedure (such as a decryption calculation 
procedure) to calculate the verification signature. If the 

so calculated verification signature matches the expected 
verification signature, verification is considered to have 
been accomplished. 

[0036] Upon receiving a valid verification 534, the 
download session can be completed. If a valid verifica- 
55 tion is not obtained, a failure is declared 538 and an 
error-handling procedure can be initiated e.g. to provide 
notification to operators and/or reinitialize the download 
procedure. 



7 



13 



EP 1 004 970 A2 



14 



[0037] As will be apparent to those of skill in the art 
after understanding the present disclosure, the particu- 
lar procedures illustrated in Fig. 5 may be modified or 
varied in a number of ways. For example, although it is 
believed a high and desirable level of security is 
achieved when all four phases (identification, negotia- 
tion, downloading and verification) are used, it is possi- 
ble to provide for downloading procedures in which one 
or more of the phases is eliminated or abbreviated. For 
example, it would be possible to provide for a somewhat 
secure download procedure without including a verifica- 
tion step. Additionally, the download method according 
to the present invention is not necessarily strictly limited 
to the order of steps illustrated in Fig. 5. For example, it 
may be possible to perform some or all negotiation 
- steps prior to some or all identification steps: Some or 
all of the steps or phases described in connection with 
Fig. 5 can be used in connection with purposes other 
than downloading, such as using identification and/or 
verification transactions to query and check loaded pro- 
grams e.g. by regulatory agencies. 
[0038] In light of the above description a number of 
advantages of the present invention can be seen. The 
present invention makes it feasible to reduce or elimi- 
nate the need for manual operations (such as physically 
visiting, and opening gaming terminals, analyzing, test- 
ing and/or replacing boards or components) in connec- 
tion with program updating, replacement, modification 
and the like, while maintaining a high level of security 
and reliability. The present invention provides the ability 
to query a gaming terminal to obtain hardware and soft- 
ware information for regulatory, maintenance, repair, 
inventory, and similar purposes. The present invention 
makes it feasible to download information to one or 
many machines at the same time. The downloaded 
information may be information particularly directed to 
peripheral devices (such as a updating a bill acceptor 
program) and/or may involve changing features of a 
game such as upgrading or adding a bonus game or 
similar feature to a gaming terminal. The present inven- 
tion is useful in facilitating the standardization of pro- 
gramming or other data across a variety of gaming 
terminals. The present invention provides the ability to 
permit local customers such as individual casinos or 
similar locations, to download their own customized 
video and/or audio files (e.g.. using the security features 
described to provide regulators with assurance that 
downloading of such files will not change or result in 
unacceptable modifications to other features of game 
operation). The present invention facilitates the ability of 
casinos, game operators, game manufacturers and the 
like to obtain and maintain accurate inventories on pro- 
grams and board modules in gaming machines. The 
present invention facilitates locating or identifying par- 
ticular printed circuit boards (or particular classes or 
types of PCBs or other components on a casino floor). 
The present invention facilitates the secure and reliable 
automatic electronic loading of programs into machines 



in a manufacturing (assembly line) environment e.g. 
based on customer orders, with reduction or elimination 
of manual steps in such process. The present invention 
facilitates querying and verifying the presence and 
5 nature of hardware or software components thereof e.g. 
at the end of an assembly or fabrication process such 
as before shipping to customers, upon receipt, and the 
like. The present invention facilitates a verification of 
- installed programs e.g. by gaming and/or lottery regula- 
rs tory agencies. 

[0039] Providing downloading from a central com- 
puter to individual gaming terminals has a number of 
advantages. The download can be easily performed on 
a number of gaming terminals at the same time, so that 
is the amount of time required to perform the download for 
" all the various gaming terminals is reduced. Further, it is 
not necessary to have personnel physically walk from 
terminal to terminal, and perform a download at each 
terminal, so that labor costs are also reduced. 
20 [0040] The present invention makes it possible to 
provide for new or additional programming for peripheral 
devices in a manner which is secure, less labor inten- 
sive, less time-consumptive, and less obtrusive than 
previous methods. The present invention makes H pos- 
25 sible to download the programming to a plurality of gam- 
ing terminals (or other computing devices) substantially 
simultaneously. 

[0041] A number of variations and modifications of 
the invention can also be used. In addition to download- 

30 ing computer program information, the invention can be 
used to download data such as data which defines the 
manner in which peripherals accept currency (or, detect 
counterfeiting). In addition to a central computer and a 
portable computer hand-held device, the information 

35 may be downloaded to the gaming terminal from other 
devices, such as a cluster controller. When reprogram- 
ming of two or more peripherals attached to a given 
gaming terminal is desired, in one embodiment, the new 
programming information for each peripheral to be 

40 reprogrammed is downloaded to the gaming terminal 
and the gaming terminal begins downloading the infor- 
mation to the attached peripherals preferably only after 
all information has been downloaded to the terminal. In 
this way, only a single session of downloading to the 

45 gaming terminal is needed in order to provide eventual 
updating of two or more coupled peripherals. 
[0042] In situations in which security is a concern, 
such as systems in which money handling occurs ( e.g.. 
gaming terminals, lottery terminals, and the like) the 

so information may be encrypted when it is transferred to 
the computing device and is decrypted either in the 
gaming device or in one or more peripheral devices. 
[0043] Preferably the transactions are controlled 
and monitored automatically e.g. using an information 

55 file generated from information from firmware, mechan- 
ical, configuration, jurisdiction approvals and production 
bill of materials. Preferably such an information file is 
always encrypted, although program or other download 



8 



15 



EP 1 004 970 A2 



16 



data can be compressed and/or encrypted e.g. depend- 
ing upon jurisdiction requirements. In one embodiment 
the information file contains a number of fields including 
the filename, source directory or path, destination direc- 
tory, version number or other version designator, CRC 
value, platform code (e.g. indicating the type of gaming 
terminal), target code (e.g. indicating the type of periph- 
eral (e.g. bill validator)), agency approval(s), and game 
name or other game indicator. 
[0044] Although the procedures and steps illus- 
trated and described in connection with Fig. 5 are 
believed to provide a high level of security, it is believed 
that security of the entire system is particularly 
enhanced by the combination of the identification, espe- 
cially hardware and/or memory-based identification 
(residing on the gaming terminal or gaming terminal 
components) and the procedures and steps illustrated 
in Fig. 5, particularly when .combined with an informa- 
tion file as described. 

[0045] In the embodiment of Fig. 1 B it is possible to 
download the information to two or more gaming termi- 
nals 102a, 102b, substantially simultaneously. However, 
in some configurations, it will be necessary to suspend 
use of the gaming terminal during the downloading 
process. In this case, it may not be desirable to suspend 
operation of all gaming terminals at the same time. 
Therefore, in one embodiment information is down- 
loaded from the central computer 1 08 to a first subset of 
the connected gaming terminals (during which time, use 
of that subset of gaming terminals is suspended), and 
following downloading to that subset of gaming termi- 
nals the first set of gaming terminals will be available for 
normal use, and downloading to the second subset of 
gaming terminals will be initiated, suspending use of the 
second subset of gaming terminals during downloading 
thereof. The process is repeated for various subsets of 
the gaming terminals until the information has been 
downloaded to all desired gaming terminals. In some 
situations, it may be desired to download information 
only to some of the connected gaming terminals. For 
example, if the information to be downloaded is 
intended to thwart passing of $10 counterfeit bills, there 
would be no need to download the new information to 
gaming terminals which are connected to currency 
acceptor peripherals that accept only $5 bills. 
[0046] In the embodiment depicted in Fig. 1 B, each 
gaming terminal 1102a, 1102b is coupled to a central 
computer 1 1 08. The coupling may be by communication 
link 1124, such as a common local area network con- 
nection (e.g., Ethernet, Token Ring, LocalTalk, etc.), a 
wide area network and the like, using any of a variety of 
physical media such as cables, optical fibers, radio, 
infrared or other wireless links and the like. The type of 
communication module 1 1 14a, 1 122, which will be used 
depends on the type of communication link which is 
being used and may include, e.g., commercially-availa- 
ble network boards and supporting software, modems, 
universal asynchronous receiver/transmitter (UART) 



devices and the like. 

[0047] As noted above, in some configurations it 
may be necessary to suspend operation of the gaming 
terminal during downloading from the information 

5 source to the gaming terminals, and/or from the gaming 
terminal to the peripheral. In one embodiment, the gam- 
ing terminal will provide an indication of the suspended 
status, so that a user will have the option to move to a 
different gaming terminal or to await reactivation. In one 

10 embodiment, the display 1 03 will provide an estimate of 
the amount of time before reactivation of the terminal. 
This estimate can be based, if desired, on an empiri- 
cally-derived relationship between the average down- 
load time and the number of blocks of information to be 

is downloaded, (or other indication of the size of the infor- 
mation to be downloaded). 

[0048] In situations in which operation or use of the 
gaming terminal must be suspended while the informa- 
tion is being downloaded to peripherals, it may be desir- 

20 able to configure the gaming terminal to wait until there 
is an apparent idle period on the gaming terminal before 
commencing downloading to a peripheral. Thus, in the 
procedure of Fig. 2, the gaming terminal will determine 
whether it has been idle for at least a predetermined 

25 minimum period (such as about one minute. 220). for 
example, when the gaming terminal is an electronic slot 
machine, the gaming terminal can use at timer circuit to 
determine if there has been any wager placed or any 
handle-pull or electronic equivalent thereof) for the pre- 

30 determined period. If the gaming terminal has not been 
idle for at least the predetermined period, the gaming 
terminal will optionally wait another predetermined 
period 221 (such as about one minute) before testing to 
determine if the gaming terminal is idle. Once the gam- 

35 ing terminal is idle, the gaming terminal can commence 
procedures to transmit information to appropriate 
peripherals 224, preferably in a blockwise fashion, with 
error checking. 

[0049] The present invention, in various embodi- 
40 ments, includes components, methods, processes, sys- 
tems and/or apparatus substantially as depicted and 
described herein, including various embodiments, sub- 
combinations, and subsets thereof. The present inven- 
tion, in various embodiments, includes providing 
45 devices and processes in the absence of items not 
depicted and/or described herein or in various embodi- 
ments hereof, including in the absence of such items as 
may have been used in previous devices or processes, 
e.g. for achieving ease and reducing cost of implemen- 
50 tation. 

[0050] The foregoing discussion of the invention 
has been presented for purposes of illustration and 
description. The foregoing is not intended to limit the 
invention to the form or forms disclosed herein. 
55 Although the description of the invention has included 
description of one or more embodiments and certain 
variations and modifications, other variations and modi- 
fications are within the scope of the invention, e.g. as 



9 



17 



EP 1 004 970 A2 



18 



may be within the skill and knowledge of those in the art, 
after understanding the present disclosure. It is 
intended the appended claims be construed to include 
alternative embodiments to the extent permitted. 

5 

Claims 

1 . A method for downloading data from a source to a 
gaming device, wherein said gaming device is sub- 
ject to governmental regulations, the method com- 10 
prising; 

transmitting first information to said source, 
identifying at least a first hardware component 
of said gaming device; 75 

verifying that said data is appropriate for said at_ 
least first hardware; 

transmitting second information from said 20 
source to said gaming device describing at 
least a first characteristic of said download; 

transmitting third information from said gaming 
device to said source indicating that said gam- 25 
ing device is configured to receive said down- 
load; 

transmitting said data from said source to said 
gaming device; 30 

calculating a signature based at least partially 
on said data and transmitting said signature to 
said source; and 

35 

comparing said signature with a signature 
available to said source. 

2. A method as claimed in Claim 1 wherein said first 
information includes information identifying soft- 40 
ware stored on said gaming device. 

3. A method as claimed in Claim 1 further comprising 
outputting a message when said first information 
indicates said data is already stored on said gaming 45 
device. 

4. A method as claimed in Claim 1 wherein said gam- 
ing device includes a plurality of circuit boards, and 
wherein said source is coupled to a first of said cir- so 
curt boards and wherein said first information iden- 
tifies hardware on at least a second of said circuit 
boards. 

5. A method as claimed in Claim 1 wherein said gam- 55 
ing device includes a plurality of circuit boards 
which contain a non-programmable memory storing 
hardware identification information. 



6. A method, as claimed in Claim 1 , wherein said data 
includes data for programming at least a first pro- 
grammable memory chip. 

7. A method, as claimed in Claim 1 , wherein said step 
of transmitting said data from said source to said 
gaming device uses a serial data transmission pro- 
tocol. 

8. A method, as claimed in Claim 1 , wherein said step 
of calculating a signature comprises calculating a 
signature based on data stored in a memory, begin- 
ning with a random address in said memory. 

9. A method, as claimed in Claim 1 , wherein said step 
of calculating a signature comprises calculating a 
signature using a seed value, wherein said seed 
value is available to both said source and said gam- 
ing terminal. 

10. Apparatus for downloading data from a source to a 
gaming device, wherein said gaming device is sub- 
ject to governmental regulations, the apparatus 
comprising; 

means for transmitting first information to said 
source, identifying at least a first hardware 
component of said gaming device; 

means for verifying that said data is appropri- 
ate for said at least first hardware; 

means for transmitting second information from 
said source to said gaming device describing at 
least a first characteristic of said download; 

means for transmitting third information from 
said gaming device to said source indicating 
that said gaming device is configured to receive 
said download; 

means for transmitting said data from said 
source to said gaming device; 

means for calculating a signature based at 
least partially on said data and transmitting 
said signature to said source; and 

means for comparing said signature with a sig- 
nature available to said source. 

11. Apparatus as claimed in Claim 10 wherein said first 
information includes information identifying soft- 
ware stored on said gaming device. 

12. Apparatus as claimed in Claim 10 further compris- 
ing means for outputting a message when said first 
information indicates said data is already stored on 



10 



19 



EP 1 004 970 A2 



said gaming device. 

13. Apparatus as claimed in Claim 10 wherein said 
gaming device includes a plurality of circuit boards, 
and wherein said source is coupled to a first of said 5 
circuit boards and wherein said first information 
identifies hardware on at least a second of said cir- 
cuit boards. 

14. Apparatus as claimed in Claim 10 wherein said 10 
gaming device includes a plurality of circuit boards 
which contain a non-programmable memory storing 
hardware identification information. 

15. Apparatus, as claimed in Claim 10. wherein said is 
- data includes data for programming at least a first 

programmable memory chip. 

16. Apparatus, as claimed in Claim 10, wherein said 
means for transmitting said data from said source 20 
to said gaming device uses a serial data transmis- 
sion protocol. 

17. Apparatus, as claimed in Claim 10, wherein said 
means for calculating a signature comprises means 2s 
for calculating a signature based on data stored in a 
memory, beginning with a random address in said 
memory. 

18. Apparatus, as claimed in Claim 10, wherein said 30 
means for calculating a signature comprises means 

for calculating a signature using a seed value, 
wherein said seed value is available to both said 
source and said gaming terminal. 

35 

19. Apparatus, as claimed in Claim 10. wherein said 
means for calculating a signature comprises means 
for calculating a digital signature based on data 
stored in memory using a public key encryption 
decryption algorithm. 40 



11 



EP 1 004 970 A2 




12 



EP 1 004 970 A2 



CENTRAL 
COMPUTER 



1108 



GAMING TERMINAL 



1110a' 



1.104a 

CURRENCY 
ACCEPTOR 



1132a 



processor 



> cuius 



PROCESSOR 



X 



1118a 
1116a 



mmon 



cDnunoiicanoBS 

9= 



I 



COIN HANDLER / 



PROCESSOR 



X 



1118b 
1116b 



DIEM 



1122a' 



1122b 



-103 
-1102a 
-1112a 
-1114a 

1104b 
/1132b 



1106a. 



1104d 
• • • 



1132c 



1104c 
PERIPHERAL 



PROCESSOR 



X 



•1118c 
1116c 



commsnicanoss 



1122c- 



1106c~-J 



GAMING TERMINAL 



1110b- 



1104d 



1104e 



PROCESSOR 



n 



DISPU? 



EHHB1 



CURRENCY 
ACCEPTOR 



PROCESSOR 



X 



-1118d 
1116d 



Hill? 



cQMOticanois 



1122d 



X 



COIN HANDLER 



PROCESSOR 



in 



X 



1118e 
■1116b 



HENRI 



coraraooiEJiioiis 



-103 
-1102b 
-1112b 
-1114b 

1104h 



1106b. 



1104f, 
PERIPHERAL 



• • • 



PROCESSOR -1118f 



1116f 



HEMOIT 



EomraoDicinras 



1122e 



1122f 



FIG. IB 



13 



EP 1 004 970 A2 



ESTABLISH COMMUNICATION 
LINK WITH INFORMATION 
SOURCE 



206 




END COMMUNICATIONS 
LINK TO SOURCE 



/ 



218 



-x j 220 

HAS 

GAMING TERMINAL BEEN IDLE" 
JOR AT LEAST A MINIMUM. 
PERIOD? 



WAIT 



222 



204 



TRANSMIT INFORMATION TO 
APPROPRIATE PERIPHERAL®, 
BLOCKWISE, WITH ERROR 
CHECKING 



/ 



224 



FIG. 2 

14 



EP 1 004 970 A2 





322b X jfooooi] 




325 



116 



CENTRAL SYSTEM 



CENTRAL OFFICE 



FIG. 3 



15 



EP 1 004 970 A2 




16 



EP 1 004 970 A2 



v 



IDENTIFICATION PHASE: 
SEND DEVICE ID REQUEST 



512 




1 



516 



FAIL NO CONNECTION 
ESTABLISHED 



NEGOTIATION PHASE: /518 
SEND NEGOTIATION MESSAGE 




DOWNLOAD PHASE: 
SEND DOWNLOAD MESSAGE 



NO 



216 



T 




528 



DONE? 



YES 



VERIFICATION PHASE: 
SEND DEVICE ID REQUEST 



END 
SESSION 



'532 




524 



FAIL* NO RESPONSE 
FROM TERMINAL 



FAIL BAD 
DOWNLOAD 



538 



FIG. 5 



17 



THIS PAGE BUNK (usnoj